home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / comm / zmax200.zip / ZMAX.DOC < prev    next >
Text File  |  1992-03-13  |  11KB  |  265 lines

  1.          Zmax            Introduction Guide rev. 2.00           Page 1
  2.  
  3.                                      Zmax
  4.                         Copyright 1990, 91 Mike Bryeans
  5.                               All Rights Reserved
  6.  
  7.  
  8.          Zmax  is designed to replace Zmodem. It uses 32 bit CRC's  on
  9.          file data blocks, the same as Zmodem, and 32 bit CRC's on its
  10.          information blocks, Zmodem uses 16 bit.
  11.  
  12.          An  information  block  is  a block  of  data  used  to  send
  13.          information about the name of the file, the receivers  system
  14.          setup, about the next block of actual File Data, etc.
  15.  
  16.          Zmax  is setup to allow almost unlimited future expansion  to
  17.          the protocol while allowing it to remain backwards compatible
  18.          with older versions.
  19.  
  20.          In  stream mode Zmax sends blocks, the size being set by  the
  21.          receiver, of data but doesn't require ACKS from the receiver.
  22.  
  23.          Zmax   should   (depending   on   equipment,   phone   lines,
  24.          implementation, etc.) allow  about 98.5 percent efficiency at
  25.          2400 baud on a 30K file compared to Zmodems 95 percent.
  26.  
  27.          And  unlike Zmodem, Zmax reaches full speed  on  considerably
  28.          smaller  files.
  29.  
  30.          In  Non-Stream mode (which can be set by the receiver OR  the
  31.          sender), Zmax is a super Batch Xmodem or Ymodem depending  on
  32.          the block size. Super because it uses 32 bit CRC's instead of
  33.          16.
  34.  
  35.          Even  using  Ymax  mode (Zmax running  1K  blocks  with  Acks
  36.          required), you'll get faster transfers than under Zmodem.  In
  37.          fact,  there  wasn't any measurable difference  between  Ymax
  38.          mode and Zmax mode on a 30K transfer. At least none that  the
  39.          efficiency  computation  routine showed.
  40.  
  41.          This  is at 2400 baud of course. Non-Stream  protocols  don't
  42.          fair  near  as  well (speed wise) as  Streamed  protocols  at
  43.          highspeeds.
  44.  
  45.          We'll call Zmax running 128 byte blocks with ACKS Xmax  mode.
  46.          Running  in this mode, you'll get about (maybe a tad  better)
  47.          Xmodem speed, but with the additional safty of 32bit CRCs.
  48.  
  49.          I'd suggest allowing your users to directly address the  size
  50.          of the receiver buffers and wheither or not to use ACKS as  I
  51.          have  in  the  Zmax.c driver so they  can  customize  several
  52.          different  versions  to  best fit  the  conditions  they  may
  53.          encounter.
  54.  
  55.  
  56.          Zmax            Introduction Guide rev. 2.00           Page 2
  57.  
  58.          Why  Non-Stream mode? Three reasons and the first  being  noisy
  59.          lines.
  60.  
  61.          Stream  protocols don't fair well under noisy lines.  If  you
  62.          can SWITCH to non-stream (ack required) during the course  of
  63.          the transfer, your efficiency is generally better.
  64.  
  65.          The  Second reason is computer type. Some computers  can  not
  66.          handle  writing  to the disk and receiving data at  the  same
  67.          time.
  68.  
  69.          If your writing a Zmax driver for a computer that falls  into
  70.          this category, write the block of data to the disk BEFORE you
  71.          ACK  the block. The sender will wait up to 30 seconds  before
  72.          assuming an error has occurred.
  73.  
  74.          The third and final reason one may wish to run in  non-stream
  75.          mode is to allow background tasking by commucations programs.
  76.          Although  I  beleive  that STREAM  mode  can  function  quick
  77.          enough  to allow this, if not then you have a method to  fall
  78.          back on.
  79.  
  80.          As outlined in the code segment, I suggest switching to  NON-
  81.          Stream  mode when your block size reaches 128 bytes.  I  also
  82.          suggest  that you not go below 128 bytes.  Primarily  because
  83.          you  don't save much. It only takes about 2/10's of a  second
  84.          longer to send a 128 byte block over a 64 byte block at  2400
  85.          baud, less at 9600+.
  86.  
  87.          Unlike  Zmodem  which sets an upper limit of  1024  bytes  on
  88.          block  sizes,  Zmax  has  an upper limit  of  over  32K.  One
  89.          shouldn't  go that high, at least with the  modems  currently
  90.          available.  Because  of this, Zmax may be used  as  a  mailer
  91.          protocol without ANY modifications.
  92.  
  93.          Zmax  also has a LOT less CPU overhead than Zmodem so  slower
  94.          computers can drive highspeed modems FASTER.
  95.  
  96.          Zmax  does not encode each byte of data like Zmodem  does.  I
  97.          can't see any real advantage to doing this and it reduces the
  98.          amount of CPU overhead and simplifies the code quite a bit.
  99.  
  100.          Zmax  also  treats all files as Binary 8 bit files  and  will
  101.          require word length to be set to 8, which is the most  common
  102.          setting.
  103.  
  104.          Please  pay  special attention to the timer  functions.  They
  105.          have  been worked out over a two year period of heavy  mailer
  106.          use  under  all kinds of conditions and have proven  to  work
  107.          exceptionally  well on Networks, Satellite Links,  and  under
  108.          Multi-Taskers.  Changing  any  of them can  lead  to  erratic
  109.          behavior on YOUR Zmax implementation.
  110.  
  111.          Zmax            Introduction Guide rev. 2.00           Page 3
  112.  
  113.          Zmax  uses  two  block  start  characters,  instead  of   the
  114.          traditional  one. I do that to keep a stray  character  (line
  115.          noise) from accidentally triggering something it shouldn't.
  116.  
  117.                  Why A Zmodem Replacement in the first place?
  118.  
  119.          Unless your attempting to write a Zmodem driver, you wouldn't
  120.          understand.
  121.  
  122.          Zmodem   isn't  documented  very  well,  in  fact  the   only
  123.          documentation  that  I'm  aware  of  is  the  original   1988
  124.          publication and you'll have a hard time finding that one now.
  125.  
  126.          It  left much to the imagination and were little more than  a
  127.          few sheets of paper glorifying Zmodem. And it only  contained
  128.          scrap segments of code that few could get to work.
  129.  
  130.          Because of this, Zmodem implementations vary depending on who
  131.          wrote it and they aren't always compatible.
  132.  
  133.          And  finally:  Because  of  the  complexity  of  the   zmodem
  134.          protocol,  systems with limited memory  capablities  (Apples,
  135.          Color  Computers, Commodores, etc.) have a very difficult  if
  136.          not impossible, time attempting to implement Zmodem in a  64K
  137.          environment.
  138.  
  139.          I  think actual CODE is better than extensive  documentation,
  140.          you  can  actual SEE how its suppose to work,  so  Zmax.c  is
  141.          provided when you register the program.
  142.  
  143.          Zmax.c  is a full functional Zmax driver. You'll not be  able
  144.          to simply compile it because I do use my own libraries,  most
  145.          have Microsoft counter parts. You shouldn't have any  trouble
  146.          telling  WHAT a function does. Zmax.c also  contains  further
  147.          information on specific aspects of Zmax.
  148.  
  149.                         Is Zmax compatible with Zmodem?
  150.  
  151.          The  answer  to  that  one  is no,  it  is  not.  This  is  a
  152.          PREPLACEMENT protocol, not just a reworked hack of zmodem. It
  153.          has better error detection and it is faster than zmodem.
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.          Zmax            Introduction Guide rev. 2.00           Page 4
  167.  
  168.                                    Zmax.exe
  169.  
  170.          Zmax.exe requires a number of command line switches; -B,  -P,
  171.          {-R or -F}.
  172.  
  173.                        Full Command Line Switch Run Down
  174.  
  175.          -UDrive:path,    directs that all files  received  should  be
  176.                           stored on this drive and in this  directory.
  177.                           This  switch  is primaryly  for  NON-OSIRIS,
  178.                           NON-QT  systems. Osiris takes care  of  this
  179.                           internally  and  this switch should  NOT  be
  180.                           used.
  181.  
  182.          Example: -UC:\uploads
  183.                   -UD:\files\temp
  184.